package com.copa.l70;

/**
 * @author copa
 * @createDate 2022-07-13 09:27
 * @function 动态规划
 */
public class Test1 {

    public int climbStairs(int n) {
        if (n == 1) {
            return 1;
        }
        if (n == 2) {
            return 2;
        }
        int first = 1;
        int second = 2;
        Integer result = first + second;
        for (int i = 3; i < n; i++) {
            first = second;
            second =  result;
            result = first + second;
        }
        return result;
    }

    // 递归法
    // n = 45 超出时间范围
//    public int climbStairs(int n) {
//        if (n == 1) {
//            return 1;
//        }
//        if (n == 2) {
//            return 2;
//        }
//        return climbStairs(n - 1) + climbStairs(n - 2);
//    }


    public static void main(String[] args) {
        System.out.println(new Test1().climbStairs(5));
    }
}
